// pages/cart/cart.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        isCheckAll: false,
        cart: [],
        // 所有商品的总价
        totalPrice: 0,
    },

    onLoad() {
        var _this = this;
        // 把存储好的购物车数据 读取出来，放到 cart 数组里面
        wx.getStorage({
            key: 'cart',
            success(res) {
                // 计算是否全选
                var cka = true;
                for (var i = 0; i < res.data.length; i++) {
                    if (res.data[i].isCheck === false) {
                        cka = false;
                        break;
                    }
                }
                _this.setData({
                    cart: res.data,
                    isCheckAll: cka
                })
                // 直接调用 计算总价的方法算出总价
                _this.calcTotalPrice();
            }
        })
    },
    del(e) {
        var _this = this;
        // js中从数组里面删除东西， 数组.spilice(索引,删除几个·)
        // 希望得到一个索引
        console.log(e)
        console.log(e.currentTarget.dataset.sort);
        var index = e.currentTarget.dataset.sort;
        // 弹出确认框
        wx.showModal({
            title: '警告',
            content: '你确定要删除吗?',
            complete: (res) => {
                if (res.confirm) {
                    _this.data.cart.splice(index, 1);
                    wx.setStorage({
                        key: 'cart',
                        data: this.data.cart,
                        success() {
                            _this.setData({
                                cart: _this.data.cart  
                            })
                            _this.calcTotalPrice();
                        }
                    })
                }
            }
        })
    },
    checkAllTap() {
        var _this = this;
        // 把全选取反
        var statu = !this.data.isCheckAll
        // 把购物车里面的所有的数据，勾选状态与全选同步
        var cart = this.data.cart;
        for (var i = 0; i < cart.length; i++) {
            cart[i].isCheck = statu;
        }
        wx.setStorage({
            key: 'cart',
            data: cart,
            success() {
                _this.setData({
                    isCheckAll: statu,
                    cart: cart
                })
                _this.calcTotalPrice();
            }
        })
        
    },
    itemCheck(e) {
        var _this = this;
        // console.log(e.currentTarget.dataset);
        var id = e.currentTarget.dataset.id;
        var flavor = e.currentTarget.dataset.flavor;
        // 首先把自己本身取反
        // 先找到我自己对应的商品数据
        var obj = null;
        var cart = this.data.cart;
        for (var i = 0; i < cart.length; i++) {
            if (cart[i].id == id && cart[i].flavor == flavor) {
                obj = cart[i]
                break;
            }
        }
        if (obj != null) {
            obj.isCheck = !obj.isCheck
        }
        // 计算 是否全选
        var cka = true;
        for (var i = 0; i < cart.length; i++) {
            if (cart[i].isCheck === false) {
                cka = false;
                break;
            }
        }
        // 存回storage
        wx.setStorage({
            key: 'cart',
            data: cart,
            success() {
                _this.setData({
                    cart: cart,
                    isCheckAll: cka
                })
                _this.calcTotalPrice();
            }
        })
    },
    calcTotalPrice() {
        var t = 0;
        var cart = this.data.cart;
        for (var i = 0; i < cart.length; i++) {
            if (cart[i].isCheck) {
                t += cart[i].count * cart[i].price
            }
        }
        this.setData({
            totalPrice: t
        })
    }
})